﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace JshRCSWebApi.Infrastructure.Domain.DTO.SysVehicle.VehicleControl
{
    public class robot_control_motion_DTO
    {
        /// <summary>
        /// 机器人在机器人坐标系中的 x 轴方向速度, 若缺省则认为是 0, 单位 m/s
        /// </summary>
        public double vx { get; set; }
        /// <summary>
        /// 机器人在机器人坐标系中的 y 轴方向速度, 若缺省则认为是 0, 单位 m/s
        /// </summary>
        public double vy { get; set; }
        /// <summary>
        /// 机器人在机器人坐标系中的角速度(即顺时针转为负, 逆时针转为正), 若缺省则认为是 0, 单位 rad/s
        /// </summary>
        public double w { get; set; }
        /// <summary>
        /// -2= 一键回零，1=15° 递增，-1=15° 递减（机器人坐标系），仅当单舵轮机器人时该值有效，
        /// 该字段存在时，不响应 vy 和 w，此时 vx 含义变为舵轮线速度
        /// </summary>
        public double steer { get; set; }
        /// <summary>
        /// 目标舵角值（机器人坐标系）, 单位 rad, 仅当单舵轮机器人时该值有效，该字段存在时，
        /// 不响应 vy 和 w，此时 vx 含义变为舵轮线速度，优先级大于 steer
        /// </summary>
        public double real_steer { get; set; }
        /// <summary>
        /// 机器人使用开环速度运动的持续时间, 单位 ms, 0= 一直保持当前开环速度运动, 
        /// 该参数缺省时，使用参数配置中 ControlMotionDuration的数值
        /// </summary>
        public double duration { get; set; } 
    }
}
